[INFO] fetching crate pattern-3 0.5.0...
[INFO] checking pattern-3-0.5.0 against master#158f00a1c5175648af6f6099b075f78d1d014a28 for pr-121251
[INFO] extracting crate pattern-3 0.5.0 into /workspace/builds/worker-0-tc1/source
[INFO] validating manifest of crates.io crate pattern-3 0.5.0 on toolchain 158f00a1c5175648af6f6099b075f78d1d014a28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate pattern-3 0.5.0
[INFO] finished tweaking crates.io crate pattern-3 0.5.0
[INFO] tweaked toml for crates.io crate pattern-3 0.5.0 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 438d1497db61b811fbf39c2e53cce917c12214a43c7dcc1fa7a221442e39cd43
[INFO] running `Command { std: "docker" "start" "-a" "438d1497db61b811fbf39c2e53cce917c12214a43c7dcc1fa7a221442e39cd43", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "438d1497db61b811fbf39c2e53cce917c12214a43c7dcc1fa7a221442e39cd43", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "438d1497db61b811fbf39c2e53cce917c12214a43c7dcc1fa7a221442e39cd43", kill_on_drop: false }`
[INFO] [stdout] 438d1497db61b811fbf39c2e53cce917c12214a43c7dcc1fa7a221442e39cd43
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] da8669d0bc054c12a40416c7f310645b0f6c63d213ad9d5569361b74c93c0101
[INFO] running `Command { std: "docker" "start" "-a" "da8669d0bc054c12a40416c7f310645b0f6c63d213ad9d5569361b74c93c0101", kill_on_drop: false }`
[INFO] [stderr]     Checking pattern-3 v0.5.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
[INFO] [stdout]  --> src/lib.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     specialization,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
[INFO] [stdout]   = help: consider using `min_specialization` instead, which is more stable and complete
[INFO] [stdout]   = note: `#[warn(incomplete_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/omgwtf8/wtf8.rs:193:21
[INFO] [stdout]     |
[INFO] [stdout] 193 |             0xf00000...0xffffffff => {
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/omgwtf8/wtf8.rs:196:21
[INFO] [stdout]     |
[INFO] [stdout] 196 |             0x800000...0xbfffff => self.0 & 0x3f | self.0 >> 2 & 0x3c0 | 0xdc00,
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/omgwtf8/wtf8.rs:323:31
[INFO] [stdout]     |
[INFO] [stdout] 323 |             ascii_byte @ 0x00 ... 0x7F => ascii_byte,
[INFO] [stdout]     |                               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `int_to_from_bytes` has been stable since 1.32.0 and no longer requires an attribute to enable
[INFO] [stdout]   --> src/lib.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     int_to_from_bytes,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `iterator_find_map` has been stable since 1.30.0 and no longer requires an attribute to enable
[INFO] [stdout]   --> src/lib.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     iterator_find_map,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `ptr_offset_from` has been stable since 1.47.0 and no longer requires an attribute to enable
[INFO] [stdout]   --> src/lib.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     ptr_offset_from,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/omgwtf8/wtf8.rs:365:17
[INFO] [stdout]     |
[INFO] [stdout] 365 |                 _ => unreachable!(),
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/omgwtf8/wtf8.rs:634:17
[INFO] [stdout]     |
[INFO] [stdout] 634 |                 _ => unreachable!(),
[INFO] [stdout]     |                 ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/omgwtf8/mod.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |             _ => unreachable!(),
[INFO] [stdout]    |             ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 10 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
[INFO] [stdout]  --> tests/linked_list.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(specialization)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
[INFO] [stdout]   = help: consider using `min_specialization` instead, which is more stable and complete
[INFO] [stdout]   = note: `#[warn(incomplete_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0635]: unknown feature `box_into_raw_non_null`
[INFO] [stdout]  --> tests/linked_list.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(box_into_raw_non_null)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `into_raw_non_null` found for struct `Box<_, _>` in the current scope
[INFO] [stdout]   --> tests/linked_list.rs:46:29
[INFO] [stdout]    |
[INFO] [stdout] 46 |         let node_raw = Box::into_raw_non_null(node);
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^ function or associated item not found in `Box<_, _>`
[INFO] [stdout]    |
[INFO] [stdout] note: if you're trying to build a new `Box<_, _>` consider using one of the following associated functions:
[INFO] [stdout]       Box::<T>::new
[INFO] [stdout]       Box::<T>::new_uninit
[INFO] [stdout]       Box::<T>::new_zeroed
[INFO] [stdout]       Box::<T>::try_new
[INFO] [stdout]       and 18 others
[INFO] [stdout]   --> /rustc/158f00a1c5175648af6f6099b075f78d1d014a28/library/alloc/src/boxed.rs:216:5
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `into_raw_non_null` found for struct `Box<_, _>` in the current scope
[INFO] [stdout]   --> tests/linked_list.rs:59:57
[INFO] [stdout]    |
[INFO] [stdout] 59 |         let mut old_head = replace(&mut self.head, Box::into_raw_non_null(new_head));
[INFO] [stdout]    |                                                         ^^^^^^^^^^^^^^^^^ function or associated item not found in `Box<_, _>`
[INFO] [stdout]    |
[INFO] [stdout] note: if you're trying to build a new `Box<_, _>` consider using one of the following associated functions:
[INFO] [stdout]       Box::<T>::new
[INFO] [stdout]       Box::<T>::new_uninit
[INFO] [stdout]       Box::<T>::new_zeroed
[INFO] [stdout]       Box::<T>::try_new
[INFO] [stdout]       and 18 others
[INFO] [stdout]   --> /rustc/158f00a1c5175648af6f6099b075f78d1d014a28/library/alloc/src/boxed.rs:216:5
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `into_raw_non_null` found for struct `Box<_, _>` in the current scope
[INFO] [stdout]   --> tests/linked_list.rs:80:57
[INFO] [stdout]    |
[INFO] [stdout] 80 |         let mut old_tail = replace(&mut self.tail, Box::into_raw_non_null(new_tail));
[INFO] [stdout]    |                                                         ^^^^^^^^^^^^^^^^^ function or associated item not found in `Box<_, _>`
[INFO] [stdout]    |
[INFO] [stdout] note: if you're trying to build a new `Box<_, _>` consider using one of the following associated functions:
[INFO] [stdout]       Box::<T>::new
[INFO] [stdout]       Box::<T>::new_uninit
[INFO] [stdout]       Box::<T>::new_zeroed
[INFO] [stdout]       Box::<T>::try_new
[INFO] [stdout]       and 18 others
[INFO] [stdout]   --> /rustc/158f00a1c5175648af6f6099b075f78d1d014a28/library/alloc/src/boxed.rs:216:5
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `into_raw_non_null` found for struct `Box<_, _>` in the current scope
[INFO] [stdout]    --> tests/linked_list.rs:113:33
[INFO] [stdout]     |
[INFO] [stdout] 113 |             let new_tail = Box::into_raw_non_null(new_tail);
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^ function or associated item not found in `Box<_, _>`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `Box<_, _>` consider using one of the following associated functions:
[INFO] [stdout]       Box::<T>::new
[INFO] [stdout]       Box::<T>::new_uninit
[INFO] [stdout]       Box::<T>::new_zeroed
[INFO] [stdout]       Box::<T>::try_new
[INFO] [stdout]       and 18 others
[INFO] [stdout]    --> /rustc/158f00a1c5175648af6f6099b075f78d1d014a28/library/alloc/src/boxed.rs:216:5
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors; 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0599, E0635.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0599`.
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::trim_left_matches`: superseded by `trim_start_matches`
[INFO] [stdout]    --> benches/strings.rs:231:40
[INFO] [stdout]     |
[INFO] [stdout] 231 | make_test!(std_trim_left_unichar, s, s.trim_left_matches('💩'), 16);
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]     |
[INFO] [stdout] 231 | make_test!(std_trim_left_unichar, s, s.trim_start_matches('💩'), 16);
[INFO] [stdout]     |                                        ~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::trim_right_matches`: superseded by `trim_end_matches`
[INFO] [stdout]    --> benches/strings.rs:244:41
[INFO] [stdout]     |
[INFO] [stdout] 244 | make_test!(std_trim_right_unichar, s, s.trim_right_matches('!'), 16);
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]     |
[INFO] [stdout] 244 | make_test!(std_trim_right_unichar, s, s.trim_end_matches('!'), 16);
[INFO] [stdout]     |                                         ~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `pattern-3` (test "linked_list") due to 6 previous errors; 1 warning emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::trim_left_matches`: superseded by `trim_start_matches`
[INFO] [stdout]    --> benches/strings.rs:260:47
[INFO] [stdout]     |
[INFO] [stdout] 260 | make_test!(std_trim_left_unicode_string, s, s.trim_left_matches("💩💩"), 16);
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]     |
[INFO] [stdout] 260 | make_test!(std_trim_left_unicode_string, s, s.trim_start_matches("💩💩"), 16);
[INFO] [stdout]     |                                               ~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::trim_right_matches`: superseded by `trim_end_matches`
[INFO] [stdout]    --> benches/strings.rs:273:46
[INFO] [stdout]     |
[INFO] [stdout] 273 | make_test!(std_trim_right_ascii_string, s, s.trim_right_matches("m!"), 16);
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]     |
[INFO] [stdout] 273 | make_test!(std_trim_right_ascii_string, s, s.trim_end_matches("m!"), 16);
[INFO] [stdout]     |                                              ~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::trim_left_matches`: superseded by `trim_start_matches`
[INFO] [stdout]    --> benches/strings.rs:312:43
[INFO] [stdout]     |
[INFO] [stdout] 312 | make_test!(std_trim_left_ascii_char, s, s.trim_left_matches(|c: char| c.is_ascii()));
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]     |
[INFO] [stdout] 312 | make_test!(std_trim_left_ascii_char, s, s.trim_start_matches(|c: char| c.is_ascii()));
[INFO] [stdout]     |                                           ~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::trim_right_matches`: superseded by `trim_end_matches`
[INFO] [stdout]    --> benches/strings.rs:325:44
[INFO] [stdout]     |
[INFO] [stdout] 325 | make_test!(std_trim_right_ascii_char, s, s.trim_right_matches(|c: char| c.is_ascii()));
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]     |
[INFO] [stdout] 325 | make_test!(std_trim_right_ascii_char, s, s.trim_end_matches(|c: char| c.is_ascii()));
[INFO] [stdout]     |                                            ~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 6 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "da8669d0bc054c12a40416c7f310645b0f6c63d213ad9d5569361b74c93c0101", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "da8669d0bc054c12a40416c7f310645b0f6c63d213ad9d5569361b74c93c0101", kill_on_drop: false }`
[INFO] [stdout] da8669d0bc054c12a40416c7f310645b0f6c63d213ad9d5569361b74c93c0101
[INFO] checking pattern-3-0.5.0 against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] extracting crate pattern-3 0.5.0 into /workspace/builds/worker-0-tc2/source
[INFO] validating manifest of crates.io crate pattern-3 0.5.0 on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate pattern-3 0.5.0
[INFO] finished tweaking crates.io crate pattern-3 0.5.0
[INFO] tweaked toml for crates.io crate pattern-3 0.5.0 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6c4cf4f70f7288e131a84a136ecb190333552b2edda47f6237777b3a4b698787
[INFO] running `Command { std: "docker" "start" "-a" "6c4cf4f70f7288e131a84a136ecb190333552b2edda47f6237777b3a4b698787", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6c4cf4f70f7288e131a84a136ecb190333552b2edda47f6237777b3a4b698787", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6c4cf4f70f7288e131a84a136ecb190333552b2edda47f6237777b3a4b698787", kill_on_drop: false }`
[INFO] [stdout] 6c4cf4f70f7288e131a84a136ecb190333552b2edda47f6237777b3a4b698787
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 53e078f3e2a4ae6fdb1fb4e8f1461ac11fbea8e9e522e08a371ab7fc4775b326
[INFO] running `Command { std: "docker" "start" "-a" "53e078f3e2a4ae6fdb1fb4e8f1461ac11fbea8e9e522e08a371ab7fc4775b326", kill_on_drop: false }`
[INFO] [stderr]     Checking pattern-3 v0.5.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
[INFO] [stdout]  --> src/lib.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     specialization,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
[INFO] [stdout]   = help: consider using `min_specialization` instead, which is more stable and complete
[INFO] [stdout]   = note: `#[warn(incomplete_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/haystack.rs:335:9
[INFO] [stdout]     |
[INFO] [stdout] 335 |         self.start_index()..self.end_index()
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/haystack.rs:455:21
[INFO] [stdout]     |
[INFO] [stdout] 455 |         let range = haystack.start_index()..haystack.end_index();
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/haystack.rs:553:68
[INFO] [stdout]     |
[INFO] [stdout] 553 |         let left_range = left.do_restore_range(self.range.clone(), self_range.start..subrange.start);
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/haystack.rs:554:70
[INFO] [stdout]     |
[INFO] [stdout] 554 |         let right_range = right.do_restore_range(self.range.clone(), subrange.end..self_range.end);
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/haystack.rs:586:34
[INFO] [stdout]     |
[INFO] [stdout] 586 |             self.slice_unchecked(self.start_index()..range.start),
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/haystack.rs:588:34
[INFO] [stdout]     |
[INFO] [stdout] 588 |             self.slice_unchecked(range.end..self.end_index()),
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/needle.rs:238:51
[INFO] [stdout]     |
[INFO] [stdout] 238 |             span = unsafe { Span::from_parts(hay, pos..range.end) };
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/needle.rs:387:51
[INFO] [stdout]     |
[INFO] [stdout] 387 |             span = unsafe { Span::from_parts(hay, range.start..pos) };
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/needle.rs:531:14
[INFO] [stdout]     |
[INFO] [stdout] 531 |         Some(start..start)
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/needle.rs:560:14
[INFO] [stdout]     |
[INFO] [stdout] 560 |         Some(end..end)
[INFO] [stdout]     |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/slices/mod.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |         (subrange.start + range.start)..(subrange.end + range.start)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/slices/mod.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 85 |         (subrange.start + range.start)..(subrange.end + range.start)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/slices/func.rs:49:14
[INFO] [stdout]    |
[INFO] [stdout] 49 |         Some((pos + start)..(pos + start + 1))
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/slices/func.rs:92:14
[INFO] [stdout]    |
[INFO] [stdout] 92 |         Some((pos + start)..(pos + start + 1))
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/slices/slice.rs:235:22
[INFO] [stdout]     |
[INFO] [stdout] 235 |             for i in start..needle.len() {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/slices/slice.rs:247:23
[INFO] [stdout]     |
[INFO] [stdout] 247 |             for i in (start..self.crit_pos).rev() {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/slices/slice.rs:262:25
[INFO] [stdout]     |
[INFO] [stdout] 262 |             return Some(position..(position + needle.len()));
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/slices/slice.rs:304:23
[INFO] [stdout]     |
[INFO] [stdout] 304 |             for i in (0..crit).rev() {
[INFO] [stdout]     |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/slices/slice.rs:316:22
[INFO] [stdout]     |
[INFO] [stdout] 316 |             for i in self.crit_pos_back..needle_end {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/slices/slice.rs:330:25
[INFO] [stdout]     |
[INFO] [stdout] 330 |             return Some((end - needle.len())..end);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/slices/slice.rs:360:41
[INFO] [stdout]     |
[INFO] [stdout] 360 |         if needle[..crit_pos] == needle[period..(period + crit_pos)] {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/slices/slice.rs:455:39
[INFO] [stdout]     |
[INFO] [stdout] 455 |         if unsafe { hay.get_unchecked(range.start..check_end) } == self.0 {
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/slices/slice.rs:474:39
[INFO] [stdout]     |
[INFO] [stdout] 474 |         if unsafe { hay.get_unchecked(index..range.end) } == self.0 {
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/strings/mod.rs:29:36
[INFO] [stdout]    |
[INFO] [stdout] 29 |         index + self.get_unchecked(index..).chars().next().unwrap().len_utf8()
[INFO] [stdout]    |                                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/strings/mod.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |         (subrange.start + range.start)..(subrange.end + range.start)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/strings/char.rs:48:57
[INFO] [stdout]    |
[INFO] [stdout] 48 |             let index = memchr(self.last_byte(), &bytes[finger..range.end])?;
[INFO] [stdout]    |                                                         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/strings/char.rs:51:36
[INFO] [stdout]    |
[INFO] [stdout] 51 |                 let found = &bytes[(finger - self.utf8_size)..finger];
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/strings/char.rs:53:33
[INFO] [stdout]    |
[INFO] [stdout] 53 |                     return Some((finger - self.utf8_size)..finger);
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/strings/char.rs:83:36
[INFO] [stdout]    |
[INFO] [stdout] 83 |                 let found = &bytes[(index - self.utf8_size)..index];
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/strings/char.rs:86:33
[INFO] [stdout]    |
[INFO] [stdout] 86 |                     return Some((index - self.utf8_size)..index);
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/strings/func.rs:44:14
[INFO] [stdout]    |
[INFO] [stdout] 44 |         Some((end - c.len_utf8())..end)
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/strings/func.rs:56:44
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let c = unsafe { hay.get_unchecked(start..) }.chars().next().unwrap();
[INFO] [stdout]    |                                            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/strings/func.rs:84:14
[INFO] [stdout]    |
[INFO] [stdout] 84 |         Some(start..(start + c.len_utf8()))
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/omgwtf8/wtf8.rs:193:21
[INFO] [stdout]     |
[INFO] [stdout] 193 |             0xf00000...0xffffffff => {
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/omgwtf8/wtf8.rs:196:21
[INFO] [stdout]     |
[INFO] [stdout] 196 |             0x800000...0xbfffff => self.0 & 0x3f | self.0 >> 2 & 0x3c0 | 0xdc00,
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/omgwtf8/wtf8.rs:243:33
[INFO] [stdout]     |
[INFO] [stdout] 243 |                     &self.bytes[pos .. surrogate_pos]
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/omgwtf8/wtf8.rs:251:59
[INFO] [stdout]     |
[INFO] [stdout] 251 |             unsafe { str::from_utf8_unchecked(&self.bytes[pos..]) },
[INFO] [stdout]     |                                                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/omgwtf8/wtf8.rs:265:62
[INFO] [stdout]     |
[INFO] [stdout] 265 |                         str::from_utf8_unchecked(&wtf8_bytes[pos .. surrogate_pos])
[INFO] [stdout]     |                                                              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/omgwtf8/wtf8.rs:272:62
[INFO] [stdout]     |
[INFO] [stdout] 272 |                         str::from_utf8_unchecked(&wtf8_bytes[pos..])
[INFO] [stdout]     |                                                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/omgwtf8/wtf8.rs:323:31
[INFO] [stdout]     |
[INFO] [stdout] 323 |             ascii_byte @ 0x00 ... 0x7F => ascii_byte,
[INFO] [stdout]     |                               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/omgwtf8/wtf8.rs:369:50
[INFO] [stdout]     |
[INFO] [stdout] 369 |         Some((pos, ThreeByteSeq::new(&self.bytes[pos..]).as_code_unit()))
[INFO] [stdout]     |                                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/omgwtf8/wtf8.rs:376:65
[INFO] [stdout]     |
[INFO] [stdout] 376 |         *self = unsafe { Self::from_bytes_unchecked(&self.bytes[3..]) };
[INFO] [stdout]     |                                                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/omgwtf8/wtf8.rs:383:49
[INFO] [stdout]     |
[INFO] [stdout] 383 |         let res = ThreeByteSeq::new(&self.bytes[e..]).to_high_surrogate()?;
[INFO] [stdout]     |                                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/omgwtf8/wtf8.rs:410:47
[INFO] [stdout]     |
[INFO] [stdout] 410 |             let cu = ThreeByteSeq::new(&bytes[(len - 3)..]).to_high_surrogate_from_split_repr_unchecked();
[INFO] [stdout]     |                                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/omgwtf8/wtf8.rs:559:27
[INFO] [stdout]     |
[INFO] [stdout] 559 |             for offset in min_offset..max_offset {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/omgwtf8/wtf8.rs:579:54
[INFO] [stdout]     |
[INFO] [stdout] 579 |     Wtf8::from_bytes_unchecked(s.bytes.get_unchecked(begin..end))
[INFO] [stdout]     |                                                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/omgwtf8/wtf8_pat.rs:180:48
[INFO] [stdout]     |
[INFO] [stdout] 180 |         let tbs = unsafe { bytes.get_unchecked((subrange.start - 3)..subrange.start) };
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/omgwtf8/wtf8_pat.rs:190:48
[INFO] [stdout]     |
[INFO] [stdout] 190 |         let tbs = unsafe { bytes.get_unchecked(subrange.end..(subrange.end + 3)) };
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/omgwtf8/wtf8_pat.rs:213:55
[INFO] [stdout]     |
[INFO] [stdout] 213 |                 span = unsafe { Span::from_parts(hay, subrange.end..range.end) };
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/omgwtf8/wtf8_pat.rs:234:19
[INFO] [stdout]     |
[INFO] [stdout] 234 |         if &bytes[middle_start..middle_end] != middle {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/omgwtf8/wtf8_pat.rs:238:82
[INFO] [stdout]     |
[INFO] [stdout] 238 |             if let SurrogateType::Split = high.is_match(ThreeByteSeq::new(&bytes[middle_end..]))? {
[INFO] [stdout]     |                                                                                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/omgwtf8/wtf8_pat.rs:269:55
[INFO] [stdout]     |
[INFO] [stdout] 269 |                 span = unsafe { Span::from_parts(hay, range.start..subrange.start) };
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/omgwtf8/wtf8_pat.rs:290:19
[INFO] [stdout]     |
[INFO] [stdout] 290 |         if &bytes[middle_start..middle_end] != middle {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/omgwtf8/wtf8_pat.rs:295:81
[INFO] [stdout]     |
[INFO] [stdout] 295 |             if let SurrogateType::Split = low.is_match(ThreeByteSeq::new(&bytes[start_index..]))? {
[INFO] [stdout]     |                                                                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/omgwtf8/wtf8_pat.rs:302:82
[INFO] [stdout]     |
[INFO] [stdout] 302 |             if let SurrogateType::Split = high.is_match(ThreeByteSeq::new(&bytes[middle_end..]))? {
[INFO] [stdout]     |                                                                                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/ext.rs:206:9
[INFO] [stdout]     |
[INFO] [stdout] 206 |         start..end
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/ext.rs:222:9
[INFO] [stdout]     |
[INFO] [stdout] 222 |         start..end
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/ext.rs:238:54
[INFO] [stdout]     |
[INFO] [stdout] 238 |         let hay = unsafe { Hay::slice_unchecked(hay, hay.start_index()..end) };
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/ext.rs:240:9
[INFO] [stdout]     |
[INFO] [stdout] 240 |         start..end
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `int_to_from_bytes` has been stable since 1.32.0 and no longer requires an attribute to enable
[INFO] [stdout]   --> src/lib.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     int_to_from_bytes,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `iterator_find_map` has been stable since 1.30.0 and no longer requires an attribute to enable
[INFO] [stdout]   --> src/lib.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     iterator_find_map,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `ptr_offset_from` has been stable since 1.47.0 and no longer requires an attribute to enable
[INFO] [stdout]   --> src/lib.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     ptr_offset_from,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/omgwtf8/wtf8.rs:365:17
[INFO] [stdout]     |
[INFO] [stdout] 365 |                 _ => unreachable!(),
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/omgwtf8/wtf8.rs:634:17
[INFO] [stdout]     |
[INFO] [stdout] 634 |                 _ => unreachable!(),
[INFO] [stdout]     |                 ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/omgwtf8/mod.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |             _ => unreachable!(),
[INFO] [stdout]    |             ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]    --> src/haystack.rs:222:44
[INFO] [stdout]     |
[INFO] [stdout] 222 |     unsafe fn slice_unchecked(self, range: Range<<Self::Target as Hay>::Index>) -> Self {
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-D explicit-range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]    --> src/haystack.rs:475:50
[INFO] [stdout]     |
[INFO] [stdout] 475 |     pub unsafe fn from_parts(haystack: H, range: Range<<H::Target as Hay>::Index>) -> Self {
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]    --> src/haystack.rs:549:48
[INFO] [stdout]     |
[INFO] [stdout] 549 |     pub unsafe fn split_around(self, subrange: Range<<H::Target as Hay>::Index>) -> [Self; 3] {
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]    --> src/haystack.rs:570:51
[INFO] [stdout]     |
[INFO] [stdout] 570 |     pub unsafe fn slice_unchecked(self, subrange: Range<<H::Target as Hay>::Index>) -> Self {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]    --> src/haystack.rs:584:41
[INFO] [stdout]     |
[INFO] [stdout] 584 |     unsafe fn split_around(self, range: Range<A::Index>) -> [Self; 3] {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]    --> src/haystack.rs:593:44
[INFO] [stdout]     |
[INFO] [stdout] 593 |     unsafe fn slice_unchecked(self, range: Range<A::Index>) -> Self {
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]    --> src/haystack.rs:598:32
[INFO] [stdout]     |
[INFO] [stdout] 598 |     fn restore_range(&self, _: Range<A::Index>, _: Range<A::Index>) -> Range<A::Index> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]    --> src/haystack.rs:598:52
[INFO] [stdout]     |
[INFO] [stdout] 598 |     fn restore_range(&self, _: Range<A::Index>, _: Range<A::Index>) -> Range<A::Index> {
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/slices/mod.rs:23:45
[INFO] [stdout]    |
[INFO] [stdout] 23 |     unsafe fn slice_unchecked(&self, range: Range<usize>) -> &Self {
[INFO] [stdout]    |                                             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/slices/mod.rs:45:44
[INFO] [stdout]    |
[INFO] [stdout] 45 |     unsafe fn slice_unchecked(self, range: Range<usize>) -> Self {
[INFO] [stdout]    |                                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/slices/mod.rs:50:41
[INFO] [stdout]    |
[INFO] [stdout] 50 |     unsafe fn split_around(self, range: Range<usize>) -> [Self; 3] {
[INFO] [stdout]    |                                         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/slices/mod.rs:57:36
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn restore_range(&self, range: Range<usize>, subrange: Range<usize>) -> Range<usize> {
[INFO] [stdout]    |                                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/slices/mod.rs:57:60
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn restore_range(&self, range: Range<usize>, subrange: Range<usize>) -> Range<usize> {
[INFO] [stdout]    |                                                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/slices/mod.rs:70:48
[INFO] [stdout]    |
[INFO] [stdout] 70 |     unsafe fn slice_unchecked(mut self, range: Range<usize>) -> Self {
[INFO] [stdout]    |                                                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/slices/mod.rs:77:45
[INFO] [stdout]    |
[INFO] [stdout] 77 |     unsafe fn split_around(mut self, range: Range<usize>) -> [Self; 3] {
[INFO] [stdout]    |                                             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/slices/mod.rs:84:36
[INFO] [stdout]    |
[INFO] [stdout] 84 |     fn restore_range(&self, range: Range<usize>, subrange: Range<usize>) -> Range<usize> {
[INFO] [stdout]    |                                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/slices/mod.rs:84:60
[INFO] [stdout]    |
[INFO] [stdout] 84 |     fn restore_range(&self, range: Range<usize>, subrange: Range<usize>) -> Range<usize> {
[INFO] [stdout]    |                                                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/strings/mod.rs:23:45
[INFO] [stdout]    |
[INFO] [stdout] 23 |     unsafe fn slice_unchecked(&self, range: Range<usize>) -> &Self {
[INFO] [stdout]    |                                             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/strings/mod.rs:45:44
[INFO] [stdout]    |
[INFO] [stdout] 45 |     unsafe fn slice_unchecked(self, range: Range<usize>) -> Self {
[INFO] [stdout]    |                                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/strings/mod.rs:50:41
[INFO] [stdout]    |
[INFO] [stdout] 50 |     unsafe fn split_around(self, range: Range<usize>) -> [Self; 3] {
[INFO] [stdout]    |                                         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/strings/mod.rs:57:36
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn restore_range(&self, range: Range<usize>, subrange: Range<usize>) -> Range<usize> {
[INFO] [stdout]    |                                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/strings/mod.rs:57:60
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn restore_range(&self, range: Range<usize>, subrange: Range<usize>) -> Range<usize> {
[INFO] [stdout]    |                                                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/omgwtf8/mod.rs:26:45
[INFO] [stdout]    |
[INFO] [stdout] 26 |     unsafe fn slice_unchecked(&self, range: Range<usize>) -> &Self {
[INFO] [stdout]    |                                             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `Range` type
[INFO] [stdout]    --> src/omgwtf8/wtf8.rs:459:17
[INFO] [stdout]     |
[INFO] [stdout] 459 | impl ops::Index<ops::Range<usize>> for Wtf8 {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-D trait-impl-range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]    --> src/omgwtf8/wtf8.rs:463:32
[INFO] [stdout]     |
[INFO] [stdout] 463 |     fn index(&self, mut range: ops::Range<usize>) -> &Wtf8 {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `RangeFrom` type
[INFO] [stdout]    --> src/omgwtf8/wtf8.rs:487:17
[INFO] [stdout]     |
[INFO] [stdout] 487 | impl ops::Index<ops::RangeFrom<usize>> for Wtf8 {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `RangeFrom` type in public function
[INFO] [stdout]    --> src/omgwtf8/wtf8.rs:491:32
[INFO] [stdout]     |
[INFO] [stdout] 491 |     fn index(&self, mut range: ops::RangeFrom<usize>) -> &Wtf8 {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 27 previous errors; 66 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `pattern-3` (lib) due to 28 previous errors; 66 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "53e078f3e2a4ae6fdb1fb4e8f1461ac11fbea8e9e522e08a371ab7fc4775b326", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "53e078f3e2a4ae6fdb1fb4e8f1461ac11fbea8e9e522e08a371ab7fc4775b326", kill_on_drop: false }`
[INFO] [stdout] 53e078f3e2a4ae6fdb1fb4e8f1461ac11fbea8e9e522e08a371ab7fc4775b326
